SQL(Structured Query Language)是管理關聯式資料庫的標準語言,不僅軟體工程師常用,需要進行資料分析的工作也經常會用到SQL,可以想像為功能更強大、能處理更龐大資料的Excel(?)
儘管SQL的操作邏輯大致相通,但不同產品可能在語法上有些許差異,本文將介紹通用的SQL語法和概念。
資料定義語言(DDL): 用於定義資料庫結構,如創建、修改、刪除資料庫物件。
資料操作語言(DML): 用於對資料進行新增、刪除、修改、查詢操作。
在關聯式資料庫中,主鍵是一個極為重要的概念,用於唯一標識資料表中的每一筆記錄。
主鍵是一個或一組欄位,用於唯一標識資料表中的每一筆記錄。
特點:
讓我們透過設計一個簡單的學生資料管理系統來深入了解SQL的應用。我們將創建一個資料表:學生資料表(Students)。
首先,我們來創建這個資料表,運用主鍵的概念:
CREATE TABLE Students (
StudentID INT PRIMARY KEY AUTO_INCREMENT,
Name VARCHAR(50) NOT NULL,
Age INT,
Class VARCHAR(20),
Subject VARCHAR(50),
Score INT
);
在這個例子中:
現在我們來看看如何對這個資料表進行基本的CRUD(Create, Read, Update, Delete)操作。
使用INSERT INTO語句來新增資料:
INSERT INTO Students (Name, Age, Class, Subject, Score)
VALUES ('張小明', 15, '一年級', '數學', 85);
INSERT INTO Students (Name, Age, Class, Subject, Score)
VALUES ('李小華', 16, '二年級', '英文', 92);
使用SELECT語句來查詢資料:
SELECT Name, Age, Subject, Score
FROM Students
WHERE Class = '一年級'
ORDER BY Score DESC
LIMIT 5;
-- 查詢特定學生的所有科目成績
SELECT Subject, Score
FROM Students
WHERE Name = '張小明';
*
代表所有,故可以這樣寫SELECT * FROM Students
使用UPDATE語句來更新資料:
UPDATE Students
SET Score = 88
WHERE Name = '張小明' AND Subject = '數學';
使用DELETE語句來刪除資料:
DELETE FROM Students WHERE Name = '李小華' AND Subject = '英文';
雖然不同的資料庫管理系統(如MySQL, PostgreSQL, Oracle等)可能在語法細節上有所不同,但基本概念是通用的,希望今天的你也有所收穫!